<?php
class fornecedor{
	private $id;
	private $id_empresa;
	private $nome;
	private $cnpj;
	private $endereco;
	private $numero;
	private $bairro;
	private $cidade;
	private $uf;
	private $cep;
	private $telefone;
	private $email;
	private $representante;
	private $bloqueado;
	private $observacoes;
	private $dt_cadastro;
	private $hr_cadastro;

	public function __construct(){
		$this->id = NULL;
		$this->id_empresa = NULL;
		$this->nome = NULL;
		$this->cnpj = NULL;
		$this->endereco = NULL;
		$this->numero = NULL;
		$this->bairro = NULL;
		$this->cidade = NULL;
		$this->uf = NULL;
		$this->cep = NULL;
		$this->telefone = NULL;
		$this->email = NULL;
		$this->representante = NULL;
		$this->bloqueado = NULL;
		$this->observacoes = NULL;
		$this->dt_cadastro = NULL;
		$this->hr_cadastro = NULL;
	}

	public function get_id(){
		return $this->id;
	}
	public function get_id_empresa(){
		return $this->id_empresa;
	}
	public function get_nome(){
		return $this->nome;
	}
	public function get_cnpj(){
		return $this->cnpj;
	}
	public function get_endereco(){
		return $this->endereco;
	}
	public function get_numero(){
		return $this->numero;
	}
	public function get_bairro(){
		return $this->bairro;
	}
	public function get_cidade(){
		return $this->cidade;
	}
	public function get_uf(){
		return $this->uf;
	}
	public function get_cep(){
		return $this->cep;
	}
	public function get_telefone(){
		return $this->telefone;
	}
	public function get_email(){
		return $this->email;
	}
	public function get_representante(){
		return $this->representante;
	}
	public function get_bloqueado(){
		return $this->bloqueado;
	}
	public function get_observacoes(){
		return $this->observacoes;
	}
	public function get_dt_cadastro(){
		return $this->dt_cadastro;
	}
	public function get_hr_cadastro(){
		return $this->hr_cadastro;
	}
	
	
	public function set_id($id){
		if($id != '' && valida::numero($id)){
                    $this->id = $id;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_id_empresa($id_empresa){
		if($id_empresa != '' && valida::numero($id_empresa)){
                    $this->id_empresa = $id_empresa;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_nome($nome){
		if($nome != '' && valida::nome_num($nome)){
                    $this->nome = $nome;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_cnpj($cnpj){
		if($cnpj != '' && valida::cnpj($cnpj)){
                    $this->cnpj = $cnpj;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_endereco($endereco){
		if(valida::endereco($endereco)){
                    $this->endereco = $endereco;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_numero($numero){
		if(valida::numero($numero)){
                    $this->numero = $numero;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_bairro($bairro){
		if(valida::nome_num($bairro)){
                    $this->bairro = $bairro;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_cidade($cidade){
            if($cidade == ''){
                return 0;
            }
            if(valida::nome($cidade)){
                $this->cidade = $cidade;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_uf($uf){
            if($uf == ''){
                return 0;
            }
            if(valida::nome($uf)){
                $this->uf = $uf;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_cep($cep){
            if($cep == ''){
                return 1;
            }
            if(valida::cep($cep)){
                $this->cep = $cep;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_telefone($telefone){
		if(valida::telefone($telefone)){
                    $this->telefone = $telefone;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_email($email){
            if($email == ''){
                return 1;
            }
            if(valida::email($email)){
                $this->email = $email;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_representante($representante){
		if(valida::nome($representante)){
                    $this->representante = $representante;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_bloqueado($bloqueado){
		if(valida::numero($bloqueado)){
                    $this->bloqueado = $bloqueado;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_observacoes($observacoes){
                $observacoes = addslashes($observacoes);
                $this->observacoes = $observacoes;
                return 1;
        }

	public function set_dt_cadastro($dt_cadastro){
                $dt_cadastro = addslashes($dt_cadastro);
                $this->dt_cadastro = $dt_cadastro;
                return 1;
        }

	public function set_hr_cadastro($hr_cadastro){
                $hr_cadastro = addslashes($hr_cadastro);
                $this->hr_cadastro = $hr_cadastro;
                return 1;
        }
        
        public function checaCnpj($cnpj){
            if(valida::cpf($cnpj) || valida::cnpj($cnpj)){
                $sql = "select count(*) from sgm_fornecedor where cpf_cnpj = '$cnpj'";
                $db = new db(config::$driver);
                $con = $db->select($sql);
                
                if($con[0][0] == 0){
                    return 1;
                }else{
                    return 0;
                }
            }else{
                return 0;
            }
        }

	
	
	public function salvar(){
		$sql = "replace into sgm_fornecedor(id, id_empresa, nome, cnpj, endereco, numero, bairro, cidade, uf, cep, telefone, email, representante, bloqueado, observacoes, dt_cadastro, hr_cadastro) values('".$this->id."', '".$this->id_empresa."', '".$this->nome."', '".$this->cnpj."', '".$this->endereco."', '".$this->numero."', '".$this->bairro."', '".$this->cidade."', '".$this->uf."', '".$this->cep."', '".$this->telefone."', '".$this->email."', '".$this->representante."', '".$this->bloqueado."', '".$this->observacoes."', '".$this->dt_cadastro."', '".$this->hr_cadastro."')";

		$db = new db(config::$driver);
                $con = $db->conecta();
                $res = $db->query($sql, $con);
                $db->close($con);
                
                if($this->id != NULL){
                    $texto = "Alterar";
                }else{
                    $texto = "Inserir";
                }
                $texto .= " Fornecedor: ID = '".$this->id."', Nome = '".$this->nome."', CNPJ = '".$this->cnpj."', Endereço = '".$this->endereco."', Número = '".$this->numero."', Bairro = '".$this->bairro."', Cidade = '".$this->cidade."', UF = '".$this->uf."', CEP = '".$this->cep."', Telefone = '".$this->telefone."', E-Mail = '".$this->email."', Representante = '".$this->representante."', Bloqueado = '".$this->bloqueado."', Observações = '".$this->observacoes."', Data de Cadastro = '".$this->dt_cadastro."', Hora de Cadastro = '".$this->hr_cadastro."'";
                $log = new log($_SESSION["sgm_id_empresa"], $_SESSION["sgm_usuario"], $texto);
                unset($log);

		return $res;
	}
	public function carregar($id){
		$sql = "select * from sgm_fornecedor where id = '$id' and id_empresa = '".$_SESSION["sgm_id_empresa"]."'";

		$db = new db(config::$driver);
                $con = $db->conecta();
                $res = $db->query($sql, $con);
                $db->close($con);
		$fornecedor = $db->fetch_array($res);

		$this->id = $fornecedor["id"];
		$this->id_empresa = $fornecedor["id_empresa"];
		$this->nome = $fornecedor["nome"];
		$this->cnpj = $fornecedor["cnpj"];
		$this->endereco = $fornecedor["endereco"];
		$this->numero = $fornecedor["numero"];
		$this->bairro = $fornecedor["bairro"];
		$this->cidade = $fornecedor["cidade"];
		$this->uf = $fornecedor["uf"];
		$this->cep = $fornecedor["cep"];
		$this->telefone = $fornecedor["telefone"];
		$this->email = $fornecedor["email"];
		$this->representante = $fornecedor["representante"];
		$this->bloqueado = $fornecedor["bloqueado"];
		$this->observacoes = $fornecedor["observacoes"];
		$this->dt_cadastro = $fornecedor["dt_cadastro"];
		$this->hr_cadastro = $fornecedor["hr_cadastro"];
		
		return 1;
	}
}
?>
